This invention relates to a method and apparatus for managing resources shared by multiple interconnected, cooperating, independent computer systems to meet performance goals.
Workload management is a concept whereby units of work (processes, threads, etc.) that are managed by an operating system are organized into classes (referred to as service classes or goal classes) that are provided system resources in accordance with how well they are meeting predefined goals. Resources are reassigned from a donor class to a receiver class if the improvement in performance of the receiver class resulting from such reassignment exceeds the degradation in performance of the donor class, i.e., there is a net positive effect in performance as determined by predefined performance criteria. Workload management of this type differs from the run-of-the-mill resource management performed by most operating systems in that the assignment of resources is determined not only by its effect on the work units to which the resources are reassigned, but also by its effect on the work units from which they are taken.
Workload managers of this general type are disclosed in the following commonly owned patents and pending patent applications, all of which are incorporated herein by reference:
U.S. Pat. No. 5,504,894 to D. F. Ferguson et al., entitled xe2x80x9cWorkload Manager for Achieving Transaction Class Response Time Goals in a Multiprocessing Systemxe2x80x9d;
U.S. Pat. No. 5,473,773 to J. D. Aman et al., entitled xe2x80x9cApparatus and Method for Managing a Data Processing System Workload According to Two or More Distinct Processing Goalsxe2x80x9d;
U.S. Pat. No. 5,537,542 to C. K. Eilert et al., entitled xe2x80x9cApparatus and Method for Managing a Server Workload According to Client Performance Goals in a Client/Server Data Processing Systemxe2x80x9d;
U.S. Pat. No. 5,603,029, to J. D. Aman et al., entitled xe2x80x9cSystem of Assigning Work Requests Based on Classifying into an Eligible Class Where the Criteria is Goal Oriented and Capacity Information is Availablexe2x80x9d;
U.S. Pat. No. 5,675,739 to C. K. Eilert et al., entitled xe2x80x9cApparatus and Method for Managing a Distributed Data Processing System Workload According to a Plurality of Distinct Processing Goal Typesxe2x80x9d;
U.S. application Ser. No. 08/383,042, filed Feb. 3, 1995, of C. K. Eilert et al., entitled xe2x80x9cMulti-System Resource Cappingxe2x80x9d, abandoned in favor of a continuation application, Ser. No. 08/848,763, filed May 1, 1997; now U.S. Pat. No. 6,442,583.
U.S. Pat. No. 6,249,800 to J. D, Aman et al., entitled xe2x80x9cApparatus and Accompanying Method for Assigning Session Requests in a Multi-Server Sysplex Environmentxe2x80x9d.
Of these patents and applications, U.S. Pat. Nos. 5,504,894 and 5,473,773 disclose basic workload management systems. U.S. Pat. No. 5,537,542 discloses a particular application of the workload management system of U.S. Pat. No. 5,473,773 to client/server systems. Application Ser. Nos. 08/383,168 and 08/383,042 disclose particular applications of the workload management system of U.S. Pat. No. 5,473,7773 to multiple interconnected systems. U.S. Pat. No. 5,603,029 relates to the assignment of work requests in a multisystem complex (xe2x80x9csysplexxe2x80x9d), while application Ser. No. 08/488,374 relates to the assignment of session requests in such a complex.
As a further extension of the workload managers disclosed in the above-incorporated,commonly owned patents and pending patent applications, a mechanism is needed to manage access to resources shared by multiple systems to meet desired performance goals, and as a particular example, to manage input/output (I/O) priorities to meet performance goals. The present invention is directed to providing such a mechanism.
Briefly described, the present invention relates to a method and apparatus for managing workload across a set of interconnected, cooperating, independent computer systems to meet performance goals. A method/apparatus in accordance with this invention manages a workload comprising work units distributed across the plurality of data processing systems in accordance with a common performance standard. Each of the systems has access to a stored representation of the performance standard and performs assigned work units in accordance with one or more control parameters for accessing shared resources. The invention includes: on each of the systems, measuring performance of the work units on that system to create local performance data; on at least some of the systems, sending the local performance data to at least one other system in the plurality of systems; on at least one of the systems, receiving the performance data from at least one other system of the plurality of systems to create remote performance data; and on that at least one system, responding to the local and remote performance data by adjusting at least one of the control parameters for accessing shared resources to modify the performance of the work units on the systems to achieve the common performance standard.